package Vista;

import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

import Controlador.ClienteDAO;
import Modelo.Cliente;
import Modelo.ICliente;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.JTabbedPane;

public class AddClienteView extends JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTextField jTxtNombre;
	private JTextField jTxtApellidos;
	private JTextField jTxtNIF;
	private JTextField jTxtTlf;
	private JTextField jTxtEmail;
	private JTextField jTxtDireccion;
	private JTextField jTxtMunicipio;
	private JTextField jTxtProvincia;
	private JTextField jTxtCP;
	private JTextField jTxtNifBusqueda;

	/**
	 * Create the panel.
	 */
	public AddClienteView() {
		setLayout(null);
		
		JLabel lblNombre = new JLabel("Nombre:");
		lblNombre.setBounds(28, 169, 70, 14);
		add(lblNombre);
		
		JLabel lblApellidos = new JLabel("Apellidos:");
		lblApellidos.setBounds(28, 194, 91, 14);
		add(lblApellidos);
		
		JLabel lblNif = new JLabel("NIF: ");
		lblNif.setBounds(28, 219, 46, 14);
		add(lblNif);
		
		JLabel lblTelefono = new JLabel("Telefono:");
		lblTelefono.setBounds(28, 244, 46, 14);
		add(lblTelefono);
		
		JLabel lblEmail = new JLabel("Email:");
		lblEmail.setBounds(28, 269, 46, 14);
		add(lblEmail);
		
		JLabel lblDireccin = new JLabel("Direcci\u00F3n");
		lblDireccin.setBounds(283, 157, 46, 14);
		add(lblDireccin);
		
		JLabel lblMunicipio = new JLabel("Municipio:");
		lblMunicipio.setBounds(283, 182, 60, 14);
		add(lblMunicipio);
		
		JLabel lblProvincia = new JLabel("Provincia:");
		lblProvincia.setBounds(283, 207, 70, 14);
		add(lblProvincia);
		
		JLabel lblCodigoPostal = new JLabel("Codigo Postal:");
		lblCodigoPostal.setBounds(248, 232, 81, 14);
		add(lblCodigoPostal);
		
		jTxtNombre = new JTextField();
		jTxtNombre.setBounds(92, 166, 105, 20);
		add(jTxtNombre);
		jTxtNombre.setColumns(10);
		
		jTxtApellidos = new JTextField();
		jTxtApellidos.setBounds(92, 194, 105, 20);
		add(jTxtApellidos);
		jTxtApellidos.setColumns(10);
		
		jTxtNIF = new JTextField();
		jTxtNIF.setBounds(92, 219, 105, 20);
		add(jTxtNIF);
		jTxtNIF.setColumns(10);
		
		jTxtTlf = new JTextField();
		jTxtTlf.setBounds(92, 244, 105, 20);
		add(jTxtTlf);
		jTxtTlf.setColumns(10);
		
		jTxtEmail = new JTextField();
		jTxtEmail.setBounds(92, 269, 105, 20);
		add(jTxtEmail);
		jTxtEmail.setColumns(10);
		
		jTxtDireccion = new JTextField();
		jTxtDireccion.setBounds(339, 154, 86, 20);
		add(jTxtDireccion);
		jTxtDireccion.setColumns(10);
		
		jTxtMunicipio = new JTextField();
		jTxtMunicipio.setBounds(340, 179, 86, 20);
		add(jTxtMunicipio);
		jTxtMunicipio.setColumns(10);
		
		jTxtProvincia = new JTextField();
		jTxtProvincia.setBounds(340, 204, 86, 20);
		add(jTxtProvincia);
		jTxtProvincia.setColumns(10);
		
		jTxtCP = new JTextField();
		jTxtCP.setBounds(339, 235, 86, 20);
		add(jTxtCP);
		jTxtCP.setColumns(10);
		
		JButton jBtnAddCliente = new JButton("A\u00F1adir");
		jBtnAddCliente.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				ICliente c = new Cliente();
				try {
					c.setNombre(jTxtNombre.getText());
					c.setApellidos(jTxtApellidos.getText());
					c.setNif(jTxtNIF.getText());
					c.setTelefono(jTxtTlf.getText());
					c.setEmail(jTxtEmail.getText());
					c.setDireccion(jTxtDireccion.getText());
					c.setMunicipio(jTxtMunicipio.getText());
					c.setProvincia(jTxtProvincia.getText());
					c.setCP(jTxtCP.getText());
					
					ClienteDAO cDao = new ClienteDAO();
					cDao.create(c);
					
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
		jBtnAddCliente.setBounds(248, 268, 89, 23);
		add(jBtnAddCliente);
		
		JTabbedPane jTabBusqueda = new JTabbedPane(JTabbedPane.TOP);
		jTabBusqueda.setBounds(39, 25, 386, 97);
		add(jTabBusqueda);
		
		JPanel panel = new JPanel();
		jTabBusqueda.addTab("Busqueda de Cliente", null, panel, null);
		panel.setLayout(null);
		
		JLabel lblNif_1 = new JLabel("NIF:");
		lblNif_1.setBounds(21, 25, 46, 14);
		panel.add(lblNif_1);
		
		jTxtNifBusqueda = new JTextField();
		jTxtNifBusqueda.setBounds(56, 22, 112, 20);
		panel.add(jTxtNifBusqueda);
		jTxtNifBusqueda.setColumns(10);
		
		JButton jBtnBusqueda = new JButton("Buscar");
		jBtnBusqueda.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				ICliente c = new Cliente();
				ClienteDAO cDao = new ClienteDAO();
				c = cDao.findClienteByNif(jTxtNifBusqueda.getText());
				
				if (cDao!=null){
					jTxtNombre.setText(c.getNombre());
					jTxtApellidos.setText(c.getApellidos());
					jTxtNIF.setText(c.getNif());
					jTxtTlf.setText(c.getTelefono());
					jTxtEmail.setText(c.getEmail());
					jTxtDireccion.setText(c.getDireccion());
					jTxtMunicipio.setText(c.getMunicipio());
					jTxtProvincia.setText(c.getProvincia());
					jTxtCP.setText(c.getCP());
				}
				
			}
		});
		jBtnBusqueda.setBounds(210, 21, 89, 23);
		panel.add(jBtnBusqueda);
		
		JButton jBtnUpdate = new JButton("Actualizar");
		jBtnUpdate.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				ICliente c = new Cliente();
				ClienteDAO cDao = new ClienteDAO();
				try {
					c.setNombre(jTxtNombre.getText());
					c.setApellidos(jTxtApellidos.getText());
					c.setNif(jTxtNIF.getText());
					c.setTelefono(jTxtTlf.getText());
					c.setEmail(jTxtEmail.getText());
					c.setDireccion(jTxtDireccion.getText());
					c.setMunicipio(jTxtMunicipio.getText());
					c.setProvincia(jTxtProvincia.getText());
					c.setCP(jTxtCP.getText());
					
					cDao.updateCliente(c);
					
				} catch (Exception e) {
					e.printStackTrace();
				}
				
			}
		});
		jBtnUpdate.setBounds(349, 268, 89, 23);
		add(jBtnUpdate);

	}
}
